Binary Classification এবং Sigmoid Function মেশিন লার্নিংয়ের দুটি অত্যন্ত গুরুত্বপূর্ণ ধারণা। এখানে আমরা দুটি বিষয়ের বিশদ আলোচনা করবো।
১. Binary Classification
Binary Classification হলো একটি মেশিন লার্নিং টাস্ক যেখানে দুটি শ্রেণীর মধ্যে (যেমন, হ্যাঁ/না, ১/০, True/False) কোনো কিছুকে শ্রেণীবদ্ধ করা হয়। এটি একটি শ্রেণীভুক্ত সমস্যা, যেখানে আমাদের দুটি সম্ভাব্য আউটপুট থাকে এবং মডেলটি একটি ইনপুটের জন্য কোন শ্রেণীটি সঠিক তা অনুমান করে।
উদাহরণ:
- ইমেল স্প্যাম ফিল্টারিং: একটি মডেল ইনপুট হিসেবে একটি ইমেল নেয় এবং এর আউটপুট হতে পারে "স্প্যাম" বা "নন-স্প্যাম"।
- ক্রেডিট কার্ড ফ্রড ডিটেকশন: মডেলটি একটি লেনদেনের উপর ভিত্তি করে সিদ্ধান্ত নেবে যে এটি ফ্রড (Fraud) নাকি না (Not Fraud)।
- ডায়াবেটিস শনাক্তকরণ: মডেলটি একটি রোগীকে নিয়ে সিদ্ধান্ত নেবে যে তিনি ডায়াবেটিক (Diabetic) নাকি না (Non-Diabetic)।
কীভাবে কাজ করে:
- Binary Classification সমস্যা সমাধান করতে, মডেলটি একটি সংখ্যা তৈরি করে যা 0 থেকে 1 এর মধ্যে থাকে, এবং এই সংখ্যা থেকে সিদ্ধান্ত নেওয়া হয় কোন শ্রেণীতে পড়বে। 0 মানে একটি শ্রেণী এবং 1 মানে অন্য শ্রেণী।
- মডেলটি ইনপুট ফিচারগুলো ব্যবহার করে একটি স্কোর বা প্রেডিকশন তৈরি করে, যা তখন একটি নির্দিষ্ট থ্রেশহোল্ডের (যেমন 0.5) মাধ্যমে 0 বা 1 এ রূপান্তরিত হয়।
একটি সাধারণ ব্যাখ্যা:
যদি মডেলটির আউটপুট 0.8 হয়, এটি পরামর্শ দিচ্ছে যে এটি প্রথম শ্রেণীতে (যেমন, স্প্যাম বা ফ্রড) পড়বে, এবং যদি আউটপুট 0.3 হয়, এটি পরামর্শ দিচ্ছে যে এটি দ্বিতীয় শ্রেণীতে (যেমন, নন-স্প্যাম বা নন-ফ্রড) পড়বে।
২. Sigmoid Function
Sigmoid Function (যার অন্য নাম "Logistic Function" বা "Logistic Curve") হল একটি সিঙ্গেল ভ্যালু আউটপুট ফাংশন, যা যে কোন ইনপুটকে 0 থেকে 1 এর মধ্যে একটি মানে রূপান্তরিত করে। এটি Binary Classification সমস্যাগুলির জন্য আদর্শ কারণ এটি আউটপুটকে একটি নির্দিষ্ট সীমার মধ্যে রাখতে সাহায্য করে।
Sigmoid Function এর গাণিতিক ফর্ম:
সিগময়েড ফাংশনটির গাণিতিক রূপ হলো:
এখানে:
- হলো সিগময়েড ফাংশনের আউটপুট।
- হলো ইনপুট ভ্যালু।
- হলো ন্যাচারাল লগের বেস (প্রায় ২.৭১৮)।
সিগময়েড ফাংশনের বৈশিষ্ট্য:
- আউটপুট 0 এবং 1 এর মধ্যে: সিগময়েড ফাংশন যে কোন ইনপুটকে 0 থেকে 1 এর মধ্যে স্কেল করে। তাই এটি প্রবabilité (probability) হিসেবেও ব্যাবহার করা যেতে পারে।
- প্রবণতা (Monotonic): সিগময়েড ফাংশনটি ক্রমাগত এবং একমুখী থাকে, অর্থাৎ এর গ্রাফ একটি "S" আকারে হয় এবং এর মধ্যে কোন পিক বা ভ্যালি থাকে না।
- সেমেট্রিক: হলে আউটপুট , হলে আউটপুট 1, এবং হলে আউটপুট 0।
উদাহরণ:
ধরা যাক, আমাদের একটি মডেল আছে যা একটি রোগীকে ডায়াবেটিস থাকা বা না থাকার জন্য শ্রেণীবদ্ধ করবে। মডেলটি রোগী সম্পর্কে কিছু তথ্য (যেমন বয়স, BMI, ইত্যাদি) নিয়ে ইনপুট হিসেবে দেয়। সিগময়েড ফাংশনটি ইনপুটের জন্য একটি মান উৎপন্ন করে, যা 0 এবং 1 এর মধ্যে থাকে।
- যদি সিগময়েডের আউটপুট হয় 0.8, তবে আমরা বলতে পারি যে রোগীটির ডায়াবেটিস হওয়ার সম্ভাবনা 80%।
- যদি আউটপুট হয় 0.2, তবে আমরা বলতে পারি যে ডায়াবেটিস হওয়ার সম্ভাবনা 20%।
সিগময়েড ফাংশনের গ্রাফ:
এটি একটি "S" আকারে গ্রাফে দেখায়, যেখানে ইনপুটের মান খুবই বড় বা ছোট হলে আউটপুট 0 বা 1 এর কাছাকাছি চলে যায়, এবং মধ্যবর্তী মানে 0.5।
Binary Classification এবং Sigmoid Function এর মধ্যে সম্পর্ক
- Binary Classification সমস্যার মধ্যে সিগময়েড ফাংশন ব্যবহার করা হয় কারণ এটি আউটপুটকে 0 এবং 1 এর মধ্যে একটি সম্ভাবনা (probability) তৈরি করে, যা দুটি শ্রেণীতে (যেমন, "হ্যাঁ" অথবা "না", "স্প্যাম" অথবা "নন-স্প্যাম") ভাগ করা সহজ হয়।
- Sigmoid Function আউটপুট হিসাবে একটি ধ্রুবক মান তৈরি করে, যা সহজেই শ্রেণীবদ্ধ করার জন্য ব্যবহার করা যেতে পারে। সাধারণত, 0.5 এর একটি থ্রেশহোল্ড ব্যবহার করা হয়, এর ওপরে আউটপুটকে প্রথম শ্রেণী এবং এর নিচে আউটপুটকে দ্বিতীয় শ্রেণী হিসেবে চিহ্নিত করা হয়।
উদাহরণ:
যদি একটি মডেল একটি রোগীকে ডায়াবেটিস হওয়ার জন্য 0.8 রেটিং দেয় (সিগময়েড আউটপুট), তবে এটি প্রথম শ্রেণীতে (ডায়াবেটিস) পড়বে, কারণ আউটপুট 0.5 এর বেশি। যদি আউটপুট 0.3 হয়, এটি দ্বিতীয় শ্রেণীতে (নন-ডায়াবেটিস) পড়বে।
উপসংহার
- Binary Classification হলো একটি মেশিন লার্নিং টাস্ক যেখানে দুটি শ্রেণীর মধ্যে শ্রেণীবদ্ধকরণ করা হয়।
- Sigmoid Function হলো একটি অ্যাক্টিভেশন ফাংশন যা ইনপুটকে 0 এবং 1 এর মধ্যে স্কেল করে, এবং এটি Binary Classification সমস্যায় আউটপুট প্রদান করতে ব্যবহৃত হয়, যেখানে আউটপুটটি শ্রেণীবিভাজনের জন্য একটি সম্ভাবনা প্রতিনিধিত্ব করে।
Read more